Ubuntu git server搭建指南
Ubuntu安装git
- apt-get update 更新apt-get
- apt-get install git自动安装git
- git –version 检测git安装成功
新建一个运行git的Linux用户
- adduser git 新建一个名为git的用户(设置密码)
改变git用户的shell登录行为
- vim /etc/passwd
将git用户记录如:
1
git:x:1001:1001:,,,:/home/git:/bin/bash
改成
1
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
创建远端仓库
- cd /home/
- mkdir git
- cd git
- mkdir yourproject.git
- git init –bare –shared yourproject.git 初始化仓库
- 注意,一定要保证git用户对yourproject.git下所有文件有读写权限(建议递归修改目录owner: chown -R git yourproject.git)
本地安装git和tortoisegit
设置本地通用git用户name email(可在tortoisegit > settings直接设置)
本地产生SSH公钥与私钥
- 在git-bash中运行: ssh-keygen -C “{{user.email}}“ -t rsa(将{{user.email}}替换为上文中设置的git email)
- 一路enter后,windows系统在users\.ssh目录下可以看到生成的公钥id_rsa.pub与私钥id_rsa文件
将公钥复制到Ubuntu上
- 追加到/home/git/.ssh/authorized_keys文件尾部(第一次复制需要手动创建该文件)
- github用户可将公钥添加到github key设置页面
本地使用SSH私钥推拉远端仓库
- 运行PuTTYGen,在Conversions菜单中点击Import key,选择ssh-keygen生成的私钥文件所在位置,比如id_rsa文件
- 点击Save private key按钮,将其保存为.ppk文件
- 打开TortoiseGit > settings > git > remote,点击Add Key,选择前一步所保存的.ppk文件所在的位置即可
关于Linux /etc/passwd文件的说明:
1 | root:x:0:0:root:/root:/bin/bash |
这个文件记录了linux中每个用户的基本属性,每个用户对应一行文本。每行文本又被冒号分隔为7部分,分别是:
- 用户名
- 密码:一般会加密保存在/etc/shadow文件中,此处只显示一个占位符*或者x
- 用户id
- 组id
- 用户描述
- 主目录
- 用户登录后执行的shell:如root用户通常是
/bin/bash
来指定bash作为shell解释器,一些伪用户用/usr/sbin/nologin
来禁用登录,上文中git用户使用/usr/bin/git-shell
来指定git-shell为解释器